package com.spsoft.vatoutinv.service.official;

import com.spsoft.core.model.Result;
import com.spsoft.system.model.vo.official.InvoiceDownloadVO;
import com.spsoft.system.model.vo.official.TransactionFlowVO;
import com.spsoft.vatoutinv.entity.vmsfullbswjmanager.VmsFullBswjManager;
import com.spsoft.vatoutinv.enums.CommonEnum;

import java.util.List;

public interface OfficialDealInvoiceService {

    /**
     * 数电票业务逻辑处理
     * @param transactionFlowMerge
     * @param wkpFlowList
     * @param bswj
     * @param dataSource
     * @param downloadVO
     * @return
     */
    Result<InvoiceDownloadVO> dealSdpResult(TransactionFlowVO transactionFlowMerge,
                                            List<TransactionFlowVO> wkpFlowList,
                                            VmsFullBswjManager bswj, CommonEnum dataSource, InvoiceDownloadVO downloadVO);

    /**
     * 电子发票业务逻辑处理
     * @param transactionFlowMerge
     * @param wkpFlowList
     * @param datasource
     * @param downloadVO
     * @return
     */
    Result<InvoiceDownloadVO> dealDzfpResult(TransactionFlowVO transactionFlowMerge,
                                             List<TransactionFlowVO> wkpFlowList,
                                             CommonEnum datasource,
                                             InvoiceDownloadVO downloadVO);
}
